The electronic office has resulted in the grouping of documents into relationships intended to aid in electronically storing, searching, and retrieving the documents. Use of document libraries represent one technique for meeting this need. As currently implemented, these document libraries offer functions analogous to manual filing and retrieving of paper documents, but in a far less cumbersome manner. One prior art structure which meets the need for electronically storing. Searching and retrieving documents is the Document Interchange Architecture (DIA) which is part of an office system marketed by the International Business Machines Corporation. The DIA document structure provides a set of descriptors for each document filed in a library. These descriptors are placed in document profiles and are filed with the documents. The document profiles contain parameters identifying the contents of the documents, such as the name under which it is filed, the authors, the subject it covers, and the date it was filed in the document library.
The document profiles are used in searching for documents in the document library. For example, a user can ask for all documents about a particular subject, by a certain author, that the library received between two dates. Upon completing the search, the user would be given a list of documents that met the search criteria. A user or end user may be a person, device, program, or computer system that utilizes the library for data processing and information exchange.
In addition to retrieving documents based on specific search criteria, the DIA document library service provides for the formation of relationships between documents. These document relationships were originally conceived by M. G. Macphail and disclosed in co-pending application Ser. No. 07/454,797, entitled "A Method of Filing Stapled Documents within an Application", which is incorporated herein by reference.
One example of such a document relationship is the concept of folder documents. A folder document is created when a user groups documents into a linear or hierarchical structure. Documents assume a linear structure when they are organized by placing a set of documents in a user specified position within a particular folder. Documents can assume a hierarchical structure by nesting documents that are folders, or more simply, putting a document that is itself a folder into another document that is a folder. Each document in a folder, regardless of its relationship with other documents, has separate document definitions including descriptors, access control, and document content. Therefore, access to one document contained within a particular relationship implies nothing with respect to access to other documents within the same relationship. All documents in the DIA document library have a Library Model Object, called the Document Relation Object, associated with them that describes the document relationships. Therefore, when there is a need to access a folder, each Document Relation Object for each document in a folder must be accessed to determine the complete relationship between the documents.
Another example of a document relationship allowed in a DIA library is the staple relationship. The staple relationship allows a user to attach two documents together. Staple relationships provide a tightly bound, directed, one-to-one document relationship between documents. In addition, the stapled documents can be placed within a folder document. The Document Relation Object for each of the documents as previously described for folder documents, must describe the relationship between the stapled documents as well as the relationship between the folder documents. Thus, each document within the relationship contains its own particular attributes such as language, document type, character sets and other profile information which describes the characteristics of the document itself. For example, if all documents in a relationship were composed in French, each document would have profile information specifying that the document was in French.
Any user seeking to access the documents defined by the relationship, would have to read and decipher each document's profile to determine the attributes of all documents within the relationship. Consequently, what is needed is a means to specify the attributes once, and to identify all documents within a relationship which contain those particular attributes.